// ----------------------------------
// RSDK Project: Sonic Essence
// Script Description: Credits
// Script Author: Tails_LP, Xanman
// ----------------------------------

//-------Aliases-------//

private alias object.value0 : menu.xpos
private alias object.value1 : menu.selection
private alias object.value2 : start.fadeValue
private alias object.value3 : menu.direction
private alias object.value4 : creditsoffset
private alias object.value5 : timer
private alias object.value6 : arrowoffset



private alias 0 : INACTIVE
private alias 1 : SCROLL_IN
private alias 2 : CREDITS_IDLE
private alias 3 : SCROLL_OUT


//-------Tables-------//


//-------Functions-------//

event ObjectMain
	object.inkEffect = INK_ALPHA
	switch object.state
	case INACTIVE
		menu.xpos = -160
		creditsoffset = -100
		break
	case SCROLL_IN
		
		menu.xpos = -160
		if object.alpha < 255
			SetMusicTrack("CREDITS.ogg", 0,0)
			PlayMusic(0)
			object.alpha += 5
		else
			object.alpha = 255
			object.state = CREDITS_IDLE
			temp4 = 0
			LoadPalette("Global/TitleScreen.act", 0, 0, 0, 255)
			
		end if

		break
	case CREDITS_IDLE
		temp6 = 0
		if object.alpha < 255
			object.alpha += 10
		else
			object.alpha = 255
			object.value7 = 2670
			object.value7 += 10
			if creditsoffset <= object.value7
				creditsoffset++
			end if
			
			if inputPress.buttonA == 1
				temp6 = 1
			end if		
			if inputPress.buttonB == 1
				temp6 = 1
			end if
			if inputPress.buttonC == 1
				temp6 = 1
			end if
			if inputPress.buttonX == 1
				temp6 = 1
			end if
			if inputPress.buttonY == 1
				temp6 = 1
			end if
			if inputPress.buttonZ == 1
				temp6 = 1
			end if
			if inputPress.Start == 1
				temp6 = 1
			end if

			timer++
			object.value8 = object.value7
			object.value8 += 100
			if timer >= object.value8
				temp6 = 1
			end if

			if temp6 == 1
				PlaySfx(SfxName[Menu Select], 0)
				object.state = SCROLL_OUT
			endif
		end if
		break

	case SCROLL_OUT
		SaveRAM[409] = 0
		WriteSaveRAM()
		SetScreenFade(0, 0, 0, start.fadeValue)
			start.fadeValue += 8
			music.volume -= 4
			if start.fadeValue >= 300
				temp4 = 0
				stage.activeList = PRESENTATION_STAGE
				stage.listPos = 0
				LoadStage()
			endif
		break
	endswitch
end event

event ObjectDraw
			DrawRect(0, 0, screen.xsize, screen.ysize, 0,0,0, object.alpha)

			temp0 = screen.xcenter
			temp0 -= 45
			temp1=screen.ysize
			temp1-=creditsoffset

			//SONIC ESSENCE TEAM CREDITS
			temp0-=23
			DrawSpriteScreenFX(9, FX_INK, temp0, temp1)
			temp0+=23
			temp1 += 50
			temp0 += 5
			DrawSpriteScreenFX(10, FX_INK, temp0, temp1)
			temp0 -= 5
			temp1 += 10
			temp0 += 19
			DrawSpriteScreenFX(7, FX_INK, temp0, temp1)
			temp0 -= 19
			//------------------------------------

			temp1 += 10

			//me
			temp0 += 27
			DrawSpriteScreenFX(14, FX_INK, temp0, temp1)
			temp0 -= 27

			temp1 += 10

			temp0 += -2
			DrawSpriteScreenFX(51, FX_INK, temp0, temp1)
			temp0 -= -2

			temp1 += 10

			temp0 += 6
			DrawSpriteScreenFX(23, FX_INK, temp0, temp1)
			temp0 -= 6

			temp1 += 10

			temp0 += -19
			DrawSpriteScreenFX(21, FX_INK, temp0, temp1)
			temp0 -= -19
			
			//------------------------------------

			temp1 += 60

			//Tails
			temp0 += 20
			DrawSpriteScreenFX(13, FX_INK, temp0, temp1)
			temp0 -= 20
			temp1 += 10

			temp0 += -9
			DrawSpriteScreenFX(19, FX_INK, temp0, temp1)
			temp0 -= -9
			//------------------------------------

			temp1 += 60

			//Spirit
			temp0 += 4
			DrawSpriteScreenFX(12, FX_INK, temp0, temp1)
			temp0 -= 4
			temp1 += 10

			temp0 += 7
			DrawSpriteScreenFX(50, FX_INK, temp0, temp1)
			temp0 -= 7

			//------------------------------------

			temp1 += 60

			//Zrain
			temp0 -= 33
			DrawSpriteScreenFX(15, FX_INK, temp0, temp1)
			temp0 += 33
			temp1 += 10

			temp0 += -2
			DrawSpriteScreenFX(22, FX_INK, temp0, temp1)
			temp0 -= -2

			temp1 += 10

			temp0 -= 10
			DrawSpriteScreenFX(17, FX_INK, temp0, temp1)
			temp0 += 10

			temp1 += 10

			temp0 += -19
			DrawSpriteScreenFX(21, FX_INK, temp0, temp1)
			temp0 -= -19

			temp1 += 10
			//------------------------------------

			temp1 += 60

			//Zach
			temp0 -= 26
			DrawSpriteScreenFX(57, FX_INK, temp0, temp1)
			temp0 += 26

			temp1 += 10

			temp0 -= 17
			DrawSpriteScreenFX(69, FX_INK, temp0, temp1)
			temp0 += 17
			//------------------------------------

			temp1 += 60

			//CASTEOR
			temp0 += 8
			DrawSpriteScreenFX(41, FX_INK, temp0, temp1)
			temp0 -= 8
			temp1 += 10

			temp0 -= 10
			DrawSpriteScreenFX(17, FX_INK, temp0, temp1)
			temp0 += 10

			temp1 += 10

			temp0 += -15
			DrawSpriteScreenFX(18, FX_INK, temp0, temp1)
			temp0 -= -15

			temp1 += 10

			temp0 += 1
			DrawSpriteScreenFX(20, FX_INK, temp0, temp1)
			temp0 -= 1

			temp1 += 10

			temp0 += 12
			DrawSpriteScreenFX(16, FX_INK, temp0, temp1)
			temp0 -= 12
			//------------------------------------

			temp1 += 60

			//FOLKS
			temp0 += 11
			DrawSpriteScreenFX(46, FX_INK, temp0, temp1)
			temp0 -= 11
			temp1 += 10

			temp0 += 5
			DrawSpriteScreenFX(47, FX_INK, temp0, temp1)
			temp0 -= 5

			temp1 += 10

			temp0 += 2
			DrawSpriteScreenFX(48, FX_INK, temp0, temp1)
			temp0 -= 2
			//------------------------------------

			temp1 += 60

			//2001
			temp0 += 11
			DrawSpriteScreenFX(49, FX_INK, temp0, temp1)
			temp0 -= 11

			temp1 += 10

			temp0 += 2
			DrawSpriteScreenFX(48, FX_INK, temp0, temp1)
			temp0 -= 2

			temp1 += 10

			temp0 -= 4
			DrawSpriteScreenFX(55, FX_INK, temp0, temp1)
			temp0 += 4

			temp1 += 10

			temp0 += 1
			DrawSpriteScreenFX(20, FX_INK, temp0, temp1)
			temp0 -= 1
			//------------------------------------

			temp1 += 60

			//STUPID
			temp0 -= 9
			DrawSpriteScreenFX(71, FX_INK, temp0, temp1)
			temp0 += 9

			temp1 += 10

			temp0 -= 10
			DrawSpriteScreenFX(17, FX_INK, temp0, temp1)
			temp0 += 10

			temp1 += 10
			//------------------------------------

			temp1 += 60

			//Yami
			temp0 += 30
			DrawSpriteScreenFX(52, FX_INK, temp0, temp1)
			temp0 -= 30
			temp1 += 10

			temp0 += 1
			DrawSpriteScreenFX(20, FX_INK, temp0, temp1)
			temp0 -= 1
			//------------------------------------

			temp1 += 60

			//KAIT
			temp0 += 11
			DrawSpriteScreenFX(11, FX_INK, temp0, temp1)
			temp0 -= 11

			temp1 += 10

			temp0 -= 37
			DrawSpriteScreenFX(60, FX_INK, temp0, temp1)
			temp0 += 37

			temp1 += 10

			temp0 += 12
			DrawSpriteScreenFX(16, FX_INK, temp0, temp1)
			temp0 -= 12
			//------------------------------------

			temp1 += 140

			//ENG VA
			temp0 -= 12
			DrawSpriteScreenFX(70, FX_INK, temp0, temp1)
			temp0 += 12

			temp1 += 10
			temp0 += 19
			DrawSpriteScreenFX(7, FX_INK, temp0, temp1)
			temp0 -= 19

			temp1 += 10

			//Jolt
			temp0 -= 15
			DrawSpriteScreenFX(65, FX_INK, temp0, temp1)
			temp0 += 15

			temp1 += 10

			temp0 += 19
			DrawSpriteScreenFX(61, FX_INK, temp0, temp1)
			temp0 -= 19
			//------------------------------------

			temp1 += 60

			//zilla
			temp0 -= 22
			DrawSpriteScreenFX(66, FX_INK, temp0, temp1)
			temp0 += 22

			temp1 += 10

			temp0 += 16
			DrawSpriteScreenFX(62, FX_INK, temp0, temp1)
			temp0 -= 16
			//------------------------------------

			temp1 += 60

			//neok
			temp0 -= 15
			DrawSpriteScreenFX(67, FX_INK, temp0, temp1)
			temp0 += 15

			temp1 += 10

			temp0 += 23
			DrawSpriteScreenFX(63, FX_INK, temp0, temp1)
			temp0 -= 23
			//------------------------------------

			temp1 += 60

			//bear
			temp0 += 10
			DrawSpriteScreenFX(68, FX_INK, temp0, temp1)
			temp0 -= 10

			temp1 += 10

			temp0 += 15
			DrawSpriteScreenFX(64, FX_INK, temp0, temp1)
			temp0 -= 15
			//------------------------------------

			temp1 += 60
			
			temp1 += 140

			//Additional
			temp0 += -14
			DrawSpriteScreenFX(36, FX_INK, temp0, temp1)
			temp0 -= -14

			temp1 += 10
			temp0 += 19
			DrawSpriteScreenFX(7, FX_INK, temp0, temp1)
			temp0 -= 19

			temp1 += 10

			temp0 += 5
			DrawSpriteScreenFX(37, FX_INK, temp0, temp1)
			temp0 -= 5

			temp1 += 10

			temp0 += 14
			DrawSpriteScreenFX(34, FX_INK, temp0, temp1)
			temp0 -= 14

			temp1 += 10

			temp0 += 10
			DrawSpriteScreenFX(40, FX_INK, temp0, temp1)
			temp0 -= 10

			temp1 += 10

			temp0 += 9
			DrawSpriteScreenFX(38, FX_INK, temp0, temp1)
			temp0 -= 9

			temp1 += 10

			temp0 += 1
			DrawSpriteScreenFX(31, FX_INK, temp0, temp1)
			temp0 -= 1

			temp1 += 10

			temp0 += -3
			DrawSpriteScreenFX(42, FX_INK, temp0, temp1)
			temp0 -= -3

			temp1 += 10

			temp0 += 5
			DrawSpriteScreenFX(39, FX_INK, temp0, temp1)
			temp0 -= 5
			//------------------------------------


			temp1 += 140

			//Engine and Coding credits
			temp0 += -20
			DrawSpriteScreenFX(24, FX_INK, temp0, temp1)
			temp0 -= -20
			temp1 += 10

			temp0 += -27
			DrawSpriteScreenFX(25, FX_INK, temp0, temp1)
			temp0 -= -27
			temp1 += 10

			temp0 += -23
			DrawSpriteScreenFX(26, FX_INK, temp0, temp1)
			temp0 -= -23
			temp1 += 10

			temp0 += 25
			DrawSpriteScreenFX(27, FX_INK, temp0, temp1)
			temp0 -= 25

			temp1 += 40

			temp0 += -2
			DrawSpriteScreenFX(28, FX_INK, temp0, temp1)
			temp0 -= -2
			temp1 += 10

			temp0 += 0
			DrawSpriteScreenFX(29, FX_INK, temp0, temp1)
			temp0 -= 0
			temp1 += 10

			temp1 += 40

			temp0 += -8
			DrawSpriteScreenFX(53, FX_INK, temp0, temp1)
			temp0 -= -8
			temp1 += 10

			temp0 += -3
			DrawSpriteScreenFX(54, FX_INK, temp0, temp1)
			temp0 -= -3
			temp1 += 10
			//------------------------------------

			temp1 += 140

			//Testing
			temp0 += 20
			DrawSpriteScreenFX(43, FX_INK, temp0, temp1)
			temp0 -= 20

			temp1 += 10
			temp0 += 19
			DrawSpriteScreenFX(7, FX_INK, temp0, temp1)
			temp0 -= 19

			temp1 += 10

			//temp0 += -1
			//DrawSpriteScreenFX(32, FX_INK, temp0, temp1)
			//temp0 -= -1

			//temp1 += 10

			temp0 += 2
			DrawSpriteScreenFX(56, FX_INK, temp0, temp1)
			temp0 -= 2

			temp1 += 10

			temp0 += 25
			DrawSpriteScreenFX(44, FX_INK, temp0, temp1)
			temp0 -= 25

			temp1 += 10

			temp0 += 10
			DrawSpriteScreenFX(58, FX_INK, temp0, temp1)
			temp0 -= 10

			temp1 += 10

			temp0 += -3
			DrawSpriteScreenFX(42, FX_INK, temp0, temp1)
			temp0 -= -3


			temp1 += 10

			temp0 += 3
			DrawSpriteScreenFX(59, FX_INK, temp0, temp1)
			temp0 -= 3
			//------------------------------------


			temp1 += 140

			//Special Thanks
			temp0 += 0
			DrawSpriteScreenFX(30, FX_INK, temp0, temp1)
			temp0 -= 0

			temp1 += 10
			temp0 += 19
			DrawSpriteScreenFX(7, FX_INK, temp0, temp1)
			temp0 -= 19

			temp1 += 10

			temp0 += -4
			DrawSpriteScreenFX(33, FX_INK, temp0, temp1)
			temp0 -= -4

			temp1 += 10

			temp0 += 14
			DrawSpriteScreenFX(34, FX_INK, temp0, temp1)
			temp0 -= 14

			temp1 += 10

			temp0 += -1
			DrawSpriteScreenFX(32, FX_INK, temp0, temp1)
			temp0 -= -1

			temp1 += 10

			temp0 += 2
			DrawSpriteScreenFX(56, FX_INK, temp0, temp1)
			temp0 -= 2

			temp1 += 10

			temp0 += 2
			DrawSpriteScreenFX(31, FX_INK, temp0, temp1)
			temp0 -= 2

			temp1 += 10

			temp0 += -3
			DrawSpriteScreenFX(42, FX_INK, temp0, temp1)
			temp0 -= -3
			//------------------------------------

			temp1 += 140
			
			//------------------------------------
			temp0 -= 20
			DrawSpriteScreenFX(35, FX_INK, temp0, temp1)
			temp0 += 20
			//------------------------------------
end event

event ObjectStartup
	object[11].type = TypeName[Credits]
    	LoadSpriteSheet("Title/Title2.gif")
	SpriteFrame(-4, 0, 8, 128, 219, 1)		//00 Black Banner

	SpriteFrame(0, -3, 94, 7, 1, 156)		//01 Adventure Mode
	SpriteFrame(0, -3, 68, 7, 1, 370)		//02 Ranking
	SpriteFrame(0, -3, 43, 7, 1, 378)		//03 Credits
	SpriteFrame(0, -3, 42, 8, 1, 181)		//04 Options
	SpriteFrame(0, -3, 22, 7, 1, 190)		//05 Quit

	SpriteFrame(-10, -3, 4, 7, 91, 164)	//06 Arrow

	SpriteFrame(-25, 0, 94, 1, 1, 199)		//07 Line?

	

	SpriteFrame(0, -3, 94, 7, 129, 215)	//8 Credits
	SpriteFrame(-45, -45, 217, 91, 1, 64)	//9 Sonic Essence
	SpriteFrame(0, -3, 94, 7, 95, 215)		//10 Team Credits

	SpriteFrame(0, -3, 94, 7, 95, 231)		//11 kaitotaku
	SpriteFrame(0, -3, 94, 7, 95, 239)		//12 spirit
	SpriteFrame(0, -3, 94, 7, 95, 247)		//13 NOT tails LP | why not? - Tails LP | because - Xanman
	SpriteFrame(0, -3, 94, 7, 95, 255)		//14 absolute shit
	SpriteFrame(0, -3, 164, 7, 95, 263)	//15 Zrain

	SpriteFrame(0, -3, 94, 7, 95, 271)		//16 Art Assist
	SpriteFrame(0, -3, 150, 7, 95, 279)	//17 Character Artist
	SpriteFrame(0, -3, 150, 7, 95, 287)	//18 Enviornment Artist
	SpriteFrame(0, -3, 150, 8, 95, 295)	//19 Lead Coding
	SpriteFrame(0, -3, 150, 8, 95, 303)	//20 levels
	SpriteFrame(0, -3, 150, 8, 95, 311)	//21 Promotional Material
	SpriteFrame(0, -3, 150, 8, 95, 319)	//22 Music
	SpriteFrame(0, -3, 150, 8, 127, 295)	//23 Coding

	SpriteFrame(0, -3, 164, 7, 95, 335)	//24 RSDKv4
	SpriteFrame(0, -3, 164, 8, 95, 343)	//25 creation
	SpriteFrame(0, -3, 134, 8, 95, 351)	//26 RDC
	SpriteFrame(0, -3, 40, 8, 232, 351)	//27 stxtic
	SpriteFrame(0, -3, 90, 8, 95, 359)		//28 Edits
	SpriteFrame(0, -3, 90, 8, 189, 359)	//29 TF

	SpriteFrame(0, -3, 164, 8, 95, 407)	//30 Special Thanks
	SpriteFrame(0, -3, 164, 7, 95, 415)	//31 RetroForever
	SpriteFrame(0, -3, 164, 7, 95, 423)	//32 Elspf
	SpriteFrame(0, -3, 164, 7, 95, 431)	//33 DvD
	SpriteFrame(0, -3, 164, 7, 95, 439)	//34 Dolph

	SpriteFrame(0, -3, 164, 40, 95, 450)	//35 COPYRIGHT

	SpriteFrame(0, -3, 110, 7, 294, 207)	//36 Additional Spriters
	SpriteFrame(0, -3, 110, 7, 294, 215)	//37 Chris
	SpriteFrame(0, -3, 110, 8, 294, 223)	//38 heypi
	SpriteFrame(0, -3, 110, 8, 294, 231)	//39 Squidward

	SpriteFrame(0, -3, 58, 8, 293, 289)	//40 Gussprint
	SpriteFrame(0, -3, 68, 7, 294, 298)	//41 Cast
	SpriteFrame(0, -3, 89, 7, 294, 307)	//42 Silv
	SpriteFrame(0, -3, 88, 8, 294, 315)	//43 test test
	SpriteFrame(0, -3, 102, 8, 294, 323)	//44 annoying
	SpriteFrame(0, -3, 94, 7, 95, 498)		//45 UI Artist
	
	SpriteFrame(0, -3, 68, 8, 294, 332)	//46 FolksyWig
	SpriteFrame(0, -3, 73, 8, 294, 348)	//47 Modelling
	SpriteFrame(0, -3, 75, 8, 294, 356)	//48 Rendering
	SpriteFrame(0, -3, 68, 8, 294, 340)	//49 2001
	SpriteFrame(0, -3, 73, 8, 95, 327)		//50 Lead Art
	SpriteFrame(0, -3, 94, 7, 95, 490)		//51 Concept Artist
	SpriteFrame(0, -3, 68, 8, 95, 399)	//52 yam

	SpriteFrame(0, -3, 105, 8, 294, 364)	//53 afterimage
	SpriteFrame(0, -3, 95, 8, 294, 372)	//54 by karl

	SpriteFrame(0, -3, 110, 7, 294, 381)	//55 Animation Assist
	SpriteFrame(0, -3, 95, 8, 310, 372)	//56 karl

	SpriteFrame(0, -3, 135, 7, 294, 401)	//57 Zach
	
	SpriteFrame(0, -3, 80, 8, 294, 425)	//58 RestGhost

	SpriteFrame(0, -3, 80, 8, 294, 433)	//59 ThatSonicFan

	SpriteFrame(0, -3, 157, 8, 294, 449)	//60 Cast VA Director
	SpriteFrame(0, -3, 157, 8, 294, 457)	//61 Kolt
	SpriteFrame(0, -3, 157, 8, 294, 465)	//62 Jack
	SpriteFrame(0, -3, 157, 8, 294, 473)	//63 Neok
	SpriteFrame(0, -3, 157, 8, 294, 481)	//64 (faz)bear

	SpriteFrame(0, -3, 157, 8, 294, 489)	//65 blue fuck
	SpriteFrame(0, -3, 157, 8, 294, 497)	//66 black fuck
	SpriteFrame(0, -3, 157, 8, 294, 505)	//67 orange fuck
	SpriteFrame(0, -3, 157, 8, 294, 513)	//68 scramble

	SpriteFrame(0, -3, 157, 8, 294, 522)	//69 Lead Level Design
	SpriteFrame(0, -3, 157, 8, 294, 530)	//70 English VA
	
	SpriteFrame(0, -3, 157, 8, 293, 539)	//71 Stupid
end event

event RSDKDraw
	DrawSprite(0)
end event

event RSDKLoad
	LoadSpriteSheet("Global/Display.gif")
	SpriteFrame(-16, -16, 32, 32, 223, 172)
end event